[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
                           Error Messages and Codes 
                                Compiler Errors 

     Compiler error messages are numbered 1 thru 144 and identify errors
     found during the compilation process.  When a compiler error is
     found the compilation process will stop, the error will be displayed
     at the top of the screen, and the affected text will be highlighted.


   #   MESSAGE                            CAUSES & REMEDIES
 ----------------------------------------------------------------------------

  1. Out of memory.               There is insufficient memory free to
                                  compile your program.  There may be
                                  several causes and fixes.

                                  * Remove memory resident programs
                                  * Break program into smaller units
                                  * Set Compile/Destination to Disk
                                  * Set Options/Compiler/Link/ buffer to Disk
                                  * Use the command line compiler


  2. Identifier Expected          Check the variable you are trying to
                                  identify, it may be a reserved word.

  3. Unknown Identifier           An identifier has not been declared.

  4. Duplicate Identifier         You are trying to redeclare a identifier
                                  that has been previously declared in the
                                  same block.

  5. Syntax Error                 Illegal character(s) were found.  Quotes
                                  may be missing from a string constant.

  6. Error in Real Constant       Constant may have been mis-declared.

  7. Error in Integer Constant    Integer may have been mis-declared.

  8. String Constant Exceeds      Check for missing quotes at the end of
     Line                         a string constant.

  9. Too many nested files        There is a limit of 5 nested files.

 10. UnExpected end of source     The end of source code may be encountered
                                  due to:

                                  * BEGIN/END commands may be mismatched
                                  * Comments may not be closed.
                                  * An include file end incorrectly.

 11. Line too long                You've exceeded the maximum of 126
                                  characters per line.

 12. Type Identifier Expected     The identifier denotes an incorrect type.

 13. Too many open files          Modify your CONFIG.SYS file to increase
                                  the maximum number of open files.

 14. Invalid File Name            The filename has been found to be either
                                  invalid or has an invalid path.

 15. File Not Found               The file was not found in the specified
                                  drive/path.

 16. Disk Full                    The output path specified a full disk.
                                  * Delete unnecessary files.
                                  * Turn off the auto-backup feature.

 17. Invalid Compiler Directive   * A global directive was used in the
                                    body of the program.
                                  * The specified directive was incorrect
                                  * You may have used a directive valid
                                    in version 3.XX but not version 5.XX

 18. Too Many Files               The number of programs files exceeds
                                  the compiler limits.
                                  * Merge include files
                                  * Make the filenames shorter

 19. Undefined Type in            The type was previously referenced as a
     Pointer Definition           pointer type, but was never declared.

 20. Variable Identifier          The identifier should identify a variable
     Expected                     but it dos not.

 21. Error In Type                This symbol cannot be a type definition.

 22. Structure too Large          You have exceeded the maximum allowable
                                  size of a structure. (65520 Bytes)

 23. Set Base Type Out Of Range   The range of the base type was either
                                  less than 0 or greater than 255.

 24. File components may not      A file type cannot have a component of
     be files or objects          file type, object type, or any structured
                                  type with a file type or object type
                                  component.

 25. Invalid String Length        A string cannot be less than 1 or
                                  greater than 255 characters.

 26. Type Mismatch                * Incompatible types of the variable and
                                    the expression in an assignment statement
                                  * Incompatible types of the actual and
                                    formal parameters in a call to a function
                                    or procedure.
                                  * An expression type that is incompatible
                                    with index type in array indexing.
                                  * Incompatible types of operands in an
                                    expression.

 27. Invalid Subrange Base Type   All ordinal type are valid base types.

 28. Lower Bound Greater than     When you declared a subrange base type
     Upper Bound                  you declared the lower bound greater
                                  than the upper bound.

 29. Ordinal Type Expected        This is the only type allowed here.

 30. Integer Constant expected

 31. Constant expected

 32. Integer or Real Constant
     Expected

 33. Type identifier Expected     The identifier does not denote a type.

 34. Invalid Function             Valid function result types are all simple
     Result Type                  types, string types, and pointer types.

 35. Label Identifier Expected

 36. BEGIN Expected

 37. END Expected

 38. Integer Expression Expected

 39. Ordinal Expression Expected

 40. Boolean Expression Expected

 41. Operand Types do not         The operator cannot be applied to the
     Match Operator               operands of this type.

 42. Error in Expression          The symbol cannot participate in an
                                  expression as it does.  You may have
                                  omitted an operator between two operands.

 43. Illegal Assignment           * Files or untyped variables cannot be
                                    assigned values.
                                  * A function identifier can only be
                                    assigned values within the statement
                                    part of the function.

 44. Field Identifier Expected    The record variable, required a field
                                  identifier.

 45. Object File Too Large        The object file is greater the 64K.

 46. Undefined External           The external procedure or function had a
                                  missing or incorrect public definition.
                                  * Be sure to specify all object files
                                    in {$L filename} directives.
                                  * Check the spelling of the procedure or
                                    function identifier in the .ASM file.

 47. Invalid Object File Record

 48. Code Segment too Large       This segment has a limit of 65520 bytes.
                                  Try breaking the procedure or function
                                  into units, or smaller units.

 49. Data Segment too Large       The maximum size of this segment is 65520
                                  Try using dynamic data structures.

 50. DO Expected

 51. Invalid Public Definition    * An assembly language has a public
                                    directive that has no corresponding
                                    pascal directive.
                                  * An assembly language defines the
                                    same identifier twice.
                                  * The Obj. file defines Public
                                    symbols that do not reside in
                                    the CODE segment.

 52. Invalid EXTRN Definition     * A identifier was referred to through
                                    an EXTRN directive in assembly
                                    language, but was not defined in
                                    any of the pascal code.
                                  * The identifier denotes an Absolute
                                    value.
                                  * The identifier denotes an inline
                                    procedure or function.

 53. Too many EXTERN Definitions  The limit to the number of .Obj files
                                  is 256.

 54. OF Expected

 55. INTERFACE Expected

 56. Invalid Relocatable          * The .Obj file contains data and other
     Reference                      relocatable references in segments
                                    other then CODE.
                                  * You might have used the HIGH and LOW
                                    operators with relocatable symbols,
                                    or you tryed to use relocatable
                                    symbols in DB directives.
                                  * An operand refers to a relocatable
                                    symbol that was not defined in the
                                    CODE or DATA segments.
                                  * An operand refers to an EXTRN procedure
                                    or function with an offset.

 57. Then Expected                IF Statement is incomplete

 58. TO or DOWNTO Expected        FOR Statement is incomplete

 59. Undefined Forward            * You declared a procedure or function
                                    in the interface section of the unit
                                    but did not declare it in the
                                    implementation section.
                                  * You declared the procedure or function
                                    with a forward declaration, but it
                                    was never used.

 60. Too Many Procedures          You are only allowed 512 procedures or
                                  functions for each module. Reduce the
                                  size of the program or unit.

 61. Invalid Typecast             * The sizes of the variable reference
                                    and the destination type differ.
                                  * You have attempted to typecast an
                                    expression where only a variable
                                    reference is allowed.

 62. Division by Zero

 63. Invalid File Type            The file handling procedure is not
                                  compatible with the file type.

 64. Cannot Read or Write         Read/Readln & Write/Writeln can only
     Variables of this Type       input and output variables of char,
                                  integer, real, and string types.

 65. Pointer Variable Expected

 66. String Variable Expected

 67. String Expression Expected

 68. Circular Unit Reference      Two units are not permitted to make use
                                  of one another.

 69. Unit Name MisMatch           The name of the unit found in the .TPU
                                  file did not match the name of the
                                  unit specified in the uses section.

 70. Unit Version MisMatch        One or more of the units have changed
                                  since the last remake.  Try to
                                  recompile the units.

 71. Duplicate Unit Name          This name was previously used in the
                                  uses section.

 72. Unit File Format Error       Invalid .TPU file.

 73. Implementation Expected

 74. Constant and Case Types      The type of the Case constant is not
     do not Match                 compatible with the case expression.

 75. Record Variable Expected

 76. Constant Out of Range        You are trying to use a variable that
                                  is out of its range.

 77. File Variable Expected

 78. Pointer Expression Expected

 79. Integer or Real Expression
     Expected

 80. Label Not Within             A goto statement cannot reference a
     Current Block                label outside of its block.

 81. Label Already Defined.

 82. Undefined Label in           A label was declared and referenced in
     Preceding Statement Block    the preceding statement part, but was
                                  never defined.

 83. Invalid @ Argument           Valid arguments are variable references
                                  and procedures or function identifiers.

 84. Unit Expected.

 85. ; Expected

 86. : Expected

 87. , Expected

 88. ( Expected

 89. ) Expected

 90. = Expected

 91. := Expected

 92. [ or (. Expected

 93. ] or .) Expected

 94. . Expected

 95. .. Expected

 96. Too Many Variables           The total size of the global or local
                                  variables cannot exceed 64K

 97. Invalid For Control Loop     The controlling variable must be of a
                                  simple type, defined in that block.

 98. Integer Variable Expected

 99. Files and Procedure Types    Typed constants cannot be a file type
     Not Allowed Here             or a procedure type.

100. String Length MisMatch       The length of a string constant does
                                  not match the number of components of
                                  the character array.

101. Invalid ordering of fields   The declaration of a record type
                                  constant do not match the declaration.

102. String Constant Expected

103. Integer or Real Variable
     Expected

104. Ordinal Variable Expected

105. Inline Error                 The < operator is not allowed in
                                  conjunction with relocatable references
                                  to variables.

106. Character Expression
     Expected

107. Too Many Relocation Items     Your program is too big for Turbo Pascal

112. Case Constant Out of Range   Integer Case ranges are -32768..32767

113. Error in Statement           A symbol was used that cannot start
                                  a statement.

114. Cannot Call a Interrupt      Interrupts cannot directly be called.
     Procedure

116. Must have an 8087 to         The {$N+} state was used.
     Compile This

117. Target Address not Found     Error search request could not find
                                  statement.

118. Include Files are Not        Every statement part must be entirely
     Allowed Here                 contained in one file.

120. NIL Expected

121. Invalid Qualifier            * A variable that is not an array is
                                    being indexed.
                                  * You are trying to specify fields
                                    in a variable that is not a record.
                                  * You are trying to de-referance a
                                    variable that is not a pointer.

122. Invalid Variable Reference   The preceding construct follows the
                                  syntax of a variable, but does not
                                  denote a memory location.

123. Too Many Symbols             Each program or unit cannot contain
                                  more than 64K of symbols.  Turning
                                  off Debug code {$D-}, or creating
                                  smaller units may help.

124. Statement Part too large     Each statement part is limited to
                                  about 24K of code.  If this error
                                  occurs then try to simplify your
                                  code by using smaller procedures or
                                  functions.

126. Files Must be Var            A File type has been declared as a value
     Parameters                   parameter instead of a VAR parameter.

127. Too Many Conditional         There is not enough room to define any
     Symbols                      more conditional symbols.

128. Misplaced Conditional        Compiler directives are not matched, ie
     Directive                    a {$ELSE} was given without an {$IFDEF}
                                  or other corresponding directive.

129. ENDIF Directive Missing      The number of {$IFxxx} and {$ENDIF} does
                                  match.

130. Error in Initial             The compiler requires zero or more
     Conditional Defines          identifiers separated by blanks, tabs,
                                  commas, or semicolons.

131. Header Does Not Match        * The interface header does not match its
     Previous Definition            corresponding implementation section
                                    procedure or function definition.
                                  * A forward header does not match its
                                    corresponding procedure or function
                                    declaration.

132. Critical Disk Error

133. Cannot Evaluate this         You may have attempted to use an unsupported
     Expression                   feature in a constant expression or in a
                                  debug expression. ie attepting to use the
                                  SIN function in a CONST declaration.

134. Expression Incorrectly       Either an operator or end of expression
     Terminated                   was expected.

135. Invalid Format Specifier     Either the format specifier is invalid or
                                  the numeric argument of a format specifier
                                  is out of range.

136. Invalid Indirect Reference   * You may be using an absolute variable
                                    whose base variable is not known in the
                                    current module.
                                  * You may be using an inline routine that
                                    references a variable not known in the
                                    current module.

137. Structured Variables Are     You may have used record(s) in a formula
     Not Allowed Here

138. Cannot Evaluate Without      The TPL library must contain the system
     System Unit                  unit for the debugger to be able to evaluate
                                  expressions.

139. Cannot Access This Symbol    Symbols such as variables cannot be accessed
                                  until the program has been executed.

140. Invalid Floating Point       An operation on two (or more) real types
     Operation                    produced an overflow or divide by zero.

141. Cannot Compile Overlays      Any program which uses overlays must be
     to Memory                    compiled to disk.

142. Procedure or Function        In this instance, the address operator (@)
     Variable Expected            can only be used with a procedure or a
                                  function variable.

143. Invalid Procedure or         * You have attempted to call a procedure
     Function Reference             in an expression.
                                  * You must compile a procedure or function
                                    must be compiled in the {$F+} state, and
                                    cannot be declared with INLINE or
                                    INTERRUPT, if it is to be assigned to
                                    produce a variable.

144. Cannot Overlay This Unit     You have attempted to overlay a unit which
                                  was not compiled in the {$O+} state.

146. File Access Denied           You are either trying to output to a
                                  Read-Only file, or to a Directory name.

This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson